<?php
class ModelDelimanNhanvien extends Model 
{
	public function getList($where = "")
	{
		$sql = "Select `dlm_nhanvien`.* from `dlm_nhanvien` where trangthai <> 'deleted' ".$where;
		$query = $this->db->query($sql);
		return $query->rows;
	}

	public function getItem($nhanvienid)
	{
		$sql = "Select * from `dlm_nhanvien` where nhanvienid = '".$nhanvienid."'";
		$query = $this->db->query($sql);
		return $query->row;
	}
	
	
	public function getItemNhanVien($where="")
	{
		$query = $this->db->query("Select `dlm_nhanvien`.* from `dlm_nhanvien` where 1=1 ".$where);
		return $query->rows;
	}
	
	
	public function getItemPhuTrachKhachHang($khachhangid)
	{
		$query = $this->db->query("Select * from `dlm_phutrachkhachhang` where khachhangid = '".$khachhangid."'");
		return $query->row;
	}
	
	
	public function createManhanvien($prefix)
	{
		return $this->db->getNextIdVarChar("dlm_nhanvien","masonhanvien",$prefix);
	}
	
	// Thêm mới nhân viên	
	public function insert($data)
	{
		$nhanvienid=$this->db->escape(@$data['nhanvienid']);
		$loainhanvienid=$this->db->escape(@$data['loainhanvienid']);		
		
		$masonhanvien=$this->createManhanvien('NV');
		$hoten=$this->db->escape(@$data['hoten']);
		$gioitinh=$this->db->escape(@$data['gioitinh']);
		$diachi=$this->db->escape(@$data['diachi']);
		$email=$this->db->escape(@$data['email']);
		$dienthoai=$this->db->escape(@$data['dienthoai']);
		$cotaikhoan=$this->db->escape(@$data['cotaikhoan']);
				
		$field=array(
						'nhanvienid',
						'loainhanvienid',
						
						'masonhanvien',
						'hoten',
						'gioitinh',
						'diachi',
						'email',
						'dienthoai',
						'cotaikhoan'
					);
		$value=array(
						$nhanvienid,
						$loainhanvienid,
						
						$masonhanvien,
						$hoten,
						$gioitinh,
						$diachi,
						$email,
						$dienthoai,
						$cotaikhoan
					);
					
		$getLastId = $this->db->insertData("dlm_nhanvien",$field,$value);
		
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Quản lý nhân viên",
							'hanhdong'=>"Thêm",
							'csdl'=>"deliman_nhanvien[".$getLastId."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten'),
							'truongdulieu'=>"nhanvienid",
							'dulieucu'=>"",
							'dulieumoi'=>$getLastId
							);
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);
		//Ghi nhật ký hệ thống: kết thúc
		
		return $getLastId;
	}
	
	//Cập nhật thông tin nhân viên
	public function update($data)
	{
		$nhanvien = array();
		$nhanvien['nhanvienid']=$this->db->escape(@$data['nhanvienid']);
		$nhanvien['loainhanvienid']=$this->db->escape(@$data['loainhanvienid']);		
		
		$nhanvien['masonhanvien']=$this->db->escape(@$data['masonhanvien']);
		$nhanvien['hoten']=$this->db->escape(@$data['hoten']);
		$nhanvien['gioitinh']=$this->db->escape(@$data['gioitinh']);
		$nhanvien['diachi']=$this->db->escape(@$data['diachi']);
		$nhanvien['email']=$this->db->escape(@$data['email']);
		$nhanvien['dienthoai']=$this->db->escape(@$data['dienthoai']);
		$nhanvien['cotaikhoan']=$this->db->escape(@$data['cotaikhoan']);
				
		$field=array(
						'nhanvienid',
						'loainhanvienid',
						
						'masonhanvien',
						'hoten',
						'gioitinh',
						'diachi',
						'email',
						'dienthoai',
						'cotaikhoan'
					);
		$value=array(
						$nhanvien['nhanvienid'],
						$nhanvien['loainhanvienid'],
						
						$nhanvien['masonhanvien'],
						$nhanvien['hoten'],
						$nhanvien['gioitinh'],
						$nhanvien['diachi'],
						$nhanvien['email'],
						$nhanvien['dienthoai'],
						$nhanvien['cotaikhoan']
					);
					
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht_1 = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Quản lý nhân viên",
							'hanhdong'=>"Sửa thông tin nhân viên",
							'csdl'=>"deliman_nhanvien[".$nhanvien['nhanvienid']."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten')
							);
		$nhanvien_cu = $this->getItem($nhanvien['nhanvienid']);
		//print_r($data);
		foreach($nhanvien as $key=>$dulieumoi)
		{	
			if(trim($nhanvien_cu[$key]) != $dulieumoi)
			{
				$nkht = array();
				$nkht_2 = array(
								'truongdulieu'=>"'".$key."'",
								'dulieucu'=>"'".$nhanvien_cu[$key]."'",
								'dulieumoi'=>"'".$dulieumoi."'",
								);
				$nkht = array_merge($nkht_1, $nkht_2);
				$this->load->model('deliman/nhatkyhethong');
				$this->model_deliman_nhatkyhethong->insert($nkht);	
			}	
		}
		//Ghi nhật ký hệ thống: kết thúc		
					
		$where="nhanvienid = '".$nhanvien['nhanvienid']."'";
		$this->db->updateData("dlm_nhanvien",$field,$value,$where);
	}	
		
	public function updateCol($nhanvienid,$col,$val)
	{
		$nhanvienid=$this->db->escape(@$nhanvienid);
		$col=$this->db->escape(@$col);
		$val=$this->db->escape(@$val);
		$field=array(
						$col
					);
		$value=array(
						$val
					);
					
		$where="nhanvienid = '".$nhanvienid."'";
		$this->db->updateData("dlm_nhanvien",$field,$value,$where);
	}
	
	//Xóa nhân viên
	public function delete($nhanvienid)
	{
		$nhanvienid=$this->db->escape(@$nhanvienid);
		//Xoa tai khoang cua nhan vien
		$objNhanVien = $this->getItem($nhanvienid);
		if($objNhanVien['userid'] != "")
		{
			$where="userid = '".$objNhanVien['userid']."'";
			$this->db->deleteData('user',$where);	
		}
		//Xoa cac khu vuc phu trach
		$wherephutrachkhuvuc = " AND nhanvienphutrachid = '".$nhanvienid."'";
		$data_phutrachkhuvuc = $this->getPhuTrachKhuVucList($wherephutrachkhuvuc);
		foreach($data_phutrachkhuvuc as $item)
		{
			//$this->deletePhuTrachKhuVuc($item['id']);
			$this->updatePhuTrachKhuVuc($item['id'],'ngayketthuc',$this->date->getToday());
			$this->updatePhuTrachKhuVuc($item['id'],'tinhtrang','deleted');
			
		}
		$field=array(
						"nhanvienphutrachid"
					);
		$value=array(
						0
					);
					
		$where="nhanvienphutrachid = '".$nhanvienid."'";
		$this->db->updateData("dlm_khuvuc",$field,$value,$where);
		//Xoa cac khach hang dang phu trach
		$field=array(
						"nhanvienphutrachid"
					);
		$value=array(
						0
					);
					
		$where="nhanvienphutrachid = '".$nhanvienid."'";
		$this->db->updateData("dlm_khachhang",$field,$value,$where);
		$wherephutrachkhachhang = " AND nhanvienphutrachid = '".$nhanvienid."'";
		$data_phutrachkhachhang = $this->getPhuTrachKhachHangList($wherephutrachkhachhang);
		foreach($data_phutrachkhachhang as $item)
		{
			//$this->deletePhuTrachKhachHang($item['id']);	
			$this->updatePhuTrachKhachHang($item['id'],'ngayketthuc',$this->date->getToday());
			$this->updatePhuTrachKhachHang($item['id'],'tinhtrang','deleted');
		}
		//$where="nhanvienid = '".$nhanvienid."'";
		//$this->db->deleteData('dlm_nhanvien',$where);
		$this->updateCol($nhanvienid,"trangthai",'deleted');
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht = array(
							  'ngaythaotac'=>$this->date->getToday(),
							  'chucnang'=>"Quản lý nhân viên",
							  'hanhdong'=>"Xóa nhân viên",
							  'csdl'=>"dlm_nhanvien[".$nhanvienid."]",
							  'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							  'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							  'tennhanvien'=>$this->user->getNhanVien('hoten'),
							  'truongdulieu'=>"nhanvienid",
							  'dulieucu'=>"",
							  'dulieumoi'=>$nhanvienid
					  );
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);
		//Ghi nhật ký hệ thống: kết thúc
		
		
	}
	
	public function deletes($data)
	{
		foreach($data as $nhanvienid)
		{
			$this->delete($nhanvienid);
		}		
	}
	
	//phu trach khach hang
	
	public function getPhuTrachKhachHang($id)
	{
		$sql = "Select * 
						from `dlm_phutrachkhachhang` 
						where id ='".$id."'";
		$query = $this->db->query($sql);
		return $query->row;	
	}
	
	public function getPhuTrachKhachHangList($where)
	{
		$sql = "Select `dlm_phutrachkhachhang`.* 
									from `dlm_phutrachkhachhang` 
									where 1=1 " . $where ;
		
		$query = $this->db->query($sql);
		return $query->rows;
	}
	
	public function savePhuTrachKhachHang($data)
	{
		$id=(int)@$data['id'];
		$nhanvienphutrachid=$this->db->escape(@$data['nhanvienphutrachid']);
		$khachhangid=$this->db->escape(@$data['khachhangid']);
		$ngayphutrach=$this->db->escape(@$data['ngayphutrach']);
		$ngayketthuc=$this->db->escape(@$data['ngayketthuc']);
		$nhanvienphancongid=$this->db->escape(@$data['nhanvienphancongid']);
		$tinhtrang=$this->db->escape(@$data['tinhtrang']);
				
		$field=array(
						'nhanvienphutrachid',
						'khachhangid',
						'ngayphutrach',
						'ngayketthuc',
						'nhanvienphancongid',
						'tinhtrang'
					);
		$value=array(
						$nhanvienphutrachid,
						$khachhangid,
						$ngayphutrach,
						$ngayketthuc,
						$nhanvienphancongid,
						$tinhtrang
					);
		
		if($id==0)
		{
			
			$this->db->insertData("dlm_phutrachkhachhang",$field,$value);
			$id = $this->db->getLastId();
			
			//nhthoai: cập nhật
			//Ghi nhật ký hệ thống: bắt đầu
			$nkht = array(
								'ngaythaotac'=>$this->date->getToday(),
								'chucnang'=>"Quản lý nhân viên",
								'hanhdong'=>"Chia thêm khách hàng cho nhân viên phụ trách",
								'csdl'=>"dlm_phutrachkhachhang[".$id."]",
								'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
								'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
								'tennhanvien'=>$this->user->getNhanVien('hoten'),
								'truongdulieu'=>"id",
								'dulieucu'=>"",
								'dulieumoi'=>$id
							);
			$this->load->model('deliman/nhatkyhethong');
			$this->model_deliman_nhatkyhethong->insert($nkht);
			//Ghi nhật ký hệ thống: kết thúc
			
		}
		else
		{			
			$where="id = '".$id."'";
			$this->db->updateData('dlm_phutrachkhachhang',$field,$value,$where);
		}
		return $id;
	}
	
	public function updatePhuTrachKhachHang($id,$col,$val)
	{
		$id = $this->db->escape(@$id);
		$col=$this->db->escape(@$col);
		$val=$this->db->escape(@$val);
		
		$field=array(
						$col
						
					);
		$value=array(
						$val
					);
		
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$ptkh_cu = $this->getPhuTrachKhuVucItem($id);
		$nkht = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Quản lý nhân viên",
							'hanhdong'=>"Ngưng phụ trách khách hàng cho nhân viên",
							'csdl'=>"dlm_phutrachkhachhang[".$id."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten'),							
							'truongdulieu'=>"'".$col."'",
							'dulieucu'=>"'".$ptkh_cu[$col]."'",
							'dulieumoi'=>"'".$val."'",
							);
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);			
		//Ghi nhật ký hệ thống: kết thúc
		
		$where="id = '".$id."'";
		$this->db->updateData('dlm_phutrachkhachhang',$field,$value,$where);
	}
		
	public function deletePhuTrachKhachHang($id)
	{
		$id = $this->db->escape(@$id);		
		
		$where="id = '".$id."'";
		$this->db->deleteData('dlm_phutrachkhachhang',$where);		
	}
	
	//phu trach khu vuc
	
	public function getPhuTrachKhuVuc($id)
	{
		$sql = "Select * 
						from `dlm_phutrachkhuvuc` 
						where id ='".$id."'";
		$query = $this->db->query($sql);
		return $query->row;	
	}
	
	public function getPhuTrachKhuVucList($where)
	{
		$sql = "Select `dlm_phutrachkhuvuc`.* 
									from `dlm_phutrachkhuvuc`
									where 1=1 " . $where ;
		
		$query = $this->db->query($sql);
		return $query->rows;
	}
	
	public function getPhuTrachKhuVucItem($id)
	{
		$sql = "Select `dlm_phutrachkhuvuc`.* 
									from `dlm_phutrachkhuvuc`
									where khuvucid='".$id."'";
		
		$query = $this->db->query($sql);
		return $query->rows;
	}
	
	public function savePhuTrachKhuVuc($data)
	{
		$id=(int)@$data['id'];
		$nhanvienphutrachid=$this->db->escape(@$data['nhanvienphutrachid']);
		$khuvucid=$this->db->escape(@$data['khuvucid']);
		$ngayphutrach=$this->db->escape(@$data['ngayphutrach']);
		$ngayketthuc=$this->db->escape(@$data['ngayketthuc']);
		$nhanvienphancongid=$this->db->escape(@$data['nhanvienphancongid']);
		$tinhtrang=$this->db->escape(@$data['tinhtrang']);
				
		$field=array(
						'nhanvienphutrachid',
						'khuvucid',
						'ngayphutrach',
						'ngayketthuc',
						'nhanvienphancongid',
						'tinhtrang'
					);
		$value=array(
						$nhanvienphutrachid,
						$khuvucid,
						$ngayphutrach,
						$ngayketthuc,
						$nhanvienphancongid,
						$tinhtrang
					);
		
		if($id==0)
		{
			
			$this->db->insertData("dlm_phutrachkhuvuc",$field,$value);
			$getLastId = $this->db->getLastId();
			
			//nhthoai: cập nhật
			//Ghi nhật ký hệ thống: bắt đầu
			$nkht = array(
								'ngaythaotac'=>$this->date->getToday(),
								'chucnang'=>"Quản lý nhân viên",
								'hanhdong'=>"Chia khu vực cho nhân viên phụ trách (thêm)",
								'csdl'=>"dlm_phutrachkhuvuc[".$getLastId."]",
								'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
								'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
								'tennhanvien'=>$this->user->getNhanVien('hoten'),
								'truongdulieu'=>"id",
								'dulieucu'=>"",
								'dulieumoi'=>$getLastId
							);
			$this->load->model('deliman/nhatkyhethong');
			$this->model_deliman_nhatkyhethong->insert($nkht);
			//Ghi nhật ký hệ thống: kết thúc
		}
		else
		{
			$where="id = '".$id."'";
			$this->db->updateData('dlm_phutrachkhuvuc',$field,$value,$where);
		}
		return $getLastId;
	}
	
	public function updatePhuTrachKhuVuc($id,$col,$val)
	{
		$id = $this->db->escape(@$id);
		$col=$this->db->escape(@$col);
		$val=$this->db->escape(@$val);
		
		$field=array(
						$col
						
					);
		$value=array(
						$val
					);
		
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$ptkv_cu = $this->getPhuTrachKhuVucItem($id);
		$nkht = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Quản lý nhân viên",
							'hanhdong'=>"Ngưng phụ trách khu vực cho nhân viên",
							'csdl'=>"dlm_phutrachkhuvuc[".$id."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten'),							
							'truongdulieu'=>"'".$col."'",
							'dulieucu'=>"'".$ptkv_cu[$col]."'",
							'dulieumoi'=>"'".$val."'",
							);
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);			
		//Ghi nhật ký hệ thống: kết thúc
		
		$where="id = '".$id."'";
		$this->db->updateData('dlm_phutrachkhuvuc',$field,$value,$where);
	}
	
	public function deletePhuTrachKhuVuc($id)
	{
		$id = $this->db->escape(@$id);		
		$where="id = '".$id."'";
		$this->db->deleteData('dlm_phutrachkhuvuc',$where);		
	}
}
?>